A user who uses a cloud system may enter into a performance guarantee agreement for application programs that are used for the user's task. When there is a performance guarantee, it is requested to allocate a virtual machine so that the performance of an application program that is used for the user's task does not drop (for example, so that a response time of the application program is not equal to or greater than a predetermined time). On the other hand, when there is no performance guarantee, priority of allocation can be lowered, so a virtual machine can be allocated according to best effort or the like.
The following kind of technology is known for allocating virtual machines in a cloud system. More specifically, a load monitor that is provided in a server monitors a load of a service that is provided by the server. When a value of the load is greater than a first threshold, an activation unit that is provided in the server activates a new virtual machine. When the value of the load is less than a second threshold value, a virtual machine at work is stopped. By doing in this way, it is possible to deal with changes in the load of the service flexibly.
However, in the conventional technology described above, a performance guarantee of an application program is not considered. Therefore, when a load of a virtual machine has satisfied a certain condition, the virtual machine is eliminated regardless of whether or not performance is guaranteed. Therefore it may not be possible to maintain performance of an application program having a performance guarantee.
Patent Document 1: Japanese Laid-open Patent Publication No. 2012-37935